home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet internetowy / Komunikatory / Tlen.pl 6.0.1.6 / tleninst6016.exe / sdk / TlenSources / plugin / plugin_chatwindow.h < prev    next >
C/C++ Source or Header  |  2006-08-30  |  7KB  |  214 lines

  1. #ifndef plugin_chatwindowH
  2. #define plugin_chatwindowH
  3.  
  4. #include <windows.h>
  5.  
  6. #include "plugin_struct.h"
  7. #include "plugin_contactlist_defs.h"
  8.  
  9. typedef struct {
  10.  
  11.  int structSize;         //wielko£µ struktury w bajtach
  12.  
  13.  HWND Handle;                    //uchwyt okienka
  14.  ContactDef Contact;             //Kontakt z ktorym przeprowadzana jest rozmowa, tudzie┐ adres pokoju konferencyjnego
  15.  
  16.  char *WindowCaption;                   //Tytul okienka
  17.  TlenSingleImageDef WindowIconSmall;    //Ikonka okienka - mala
  18.  TlenSingleImageDef WindowIconBig;      //Ikonka okienka - duza (nie obslugiwana jeszcze)
  19.  
  20.  int Flags;
  21.  TLENFUNCTION CallBackFunc;      //Do przechwytywania zdarzen przez tworce okienka
  22.  
  23.  char *ID;      //Identyfikator chata/konferencji (od wersji API 0.1.6.1)
  24.  char *ShortCaption;                   //krotki tytul, umieszczany np na zakladce w oknie rozmowy
  25.                                        // od API 0.1.8.3
  26.  
  27. } TlenChatWindowInfoDef;
  28.  
  29. #define CHATWINDOW_SHOWFLAG_EMOTICONS                    0x0001
  30. #define CHATWINDOW_SHOWFLAG_PARTNER_INITIATED            0x0002 //rozmowe inicjuje rozmowca
  31. #define CHATWINDOW_SHOWFLAG_NOSOUND                      0x0004
  32. #define CHATWINDOW_SHOWFLAG_ALERTICON                    0x0008
  33. #define CHATWINDOW_SHOWFLAG_TYPINGICON                   0x0010
  34. #define CHATWINDOW_SHOWFLAG_VOICEICON                    0x0020
  35. #define CHATWINDOW_SHOWFLAG_VIDEOICON                    0x0040
  36. #define CHATWINDOW_SHOWFLAG_FILEICON                     0x0080
  37.  
  38. #define CHATWINDOW_SHOWFLAG_CONFERENCE                   0x0100 //pokazuje okno w trybie konferencji
  39. #define CHATWINDOW_SHOWFLAG_NOSHOW                       0x0200 // nie pokazuj
  40. // okna
  41.  
  42. //WPARAM dla CallBackFunc
  43. #define CHATWINDOW_SHOWACTION_DESTROYED                  1
  44.  
  45. //-------------------------------------------------------------------------------------
  46.  
  47. //Zdarzenia - hook pod ktory mozna sie podczepic i przechwytywac zdarzenia w okienkach rozmowy, takze wplywac na wykonanie funkcji
  48. #define TLEN_CHATWINDOW_EVENT         "Tlen/ChatWindow/Event"
  49.  
  50. //WPARAM:
  51. typedef struct {
  52.  
  53.  int structSize;        //wielko£µ struktury w bajtach
  54.  
  55.  TlenChatWindowInfoDef *WindowInfo;
  56.  int EventID;
  57.  
  58. } TlenChatWindowEventDef;
  59.  
  60. #define TLEN_CHATWINDOW_EVENT_AFTERCREATED                   1
  61. #define TLEN_CHATWINDOW_EVENT_BEFOREDESTROYED                2
  62. #define TLEN_CHATWINDOW_EVENT_AFTERCLOSED                    3
  63. #define TLEN_CHATWINDOW_EVENT_AFTEROPENED                    4
  64. #define TLEN_CHATWINDOW_EVENT_BEFOREFLASHBEGIN               5
  65. #define TLEN_CHATWINDOW_EVENT_AFTERFLASHEND                  6
  66.  
  67. // zdarzenia zwiazane z zakladkami w oknie rozmowy
  68. #define TLEN_CHATWINDOW_EVENT_TAB_AFTERCREATED               7
  69. #define TLEN_CHATWINDOW_EVENT_TAB_BEFOREDESTROYED            8
  70. #define TLEN_CHATWINDOW_EVENT_TAB_AFTERCLOSED                9
  71. #define TLEN_CHATWINDOW_EVENT_TAB_AFTEROPENED                10
  72. #define TLEN_CHATWINDOW_EVENT_TAB_BEFOREFLASHBEGIN           11
  73. #define TLEN_CHATWINDOW_EVENT_TAB_AFTERFLASHEND              12
  74.  
  75. /*
  76. #define TLEN_CHATWINDOW_EVENT_BEFOREMSGSHOW                  7
  77. #define TLEN_CHATWINDOW_EVENT_BEFORESETPARAM                 8
  78. #define TLEN_CHATWINDOW_EVENT_BEFORESHOWALERT                9
  79. #define TLEN_CHATWINDOW_EVENT_BEFORESHOWTYPING               10
  80. #define TLEN_CHATWINDOW_EVENT_BEFORESENDTEXT                 11
  81. #define TLEN_CHATWINDOW_EVENT_AFTERTEXTCHANGED               12
  82. #define TLEN_CHATWINDOW_EVENT_AFTERKEYDOWN                   13
  83. */
  84.  
  85.  
  86. //Funkcje
  87.  
  88. #define TLEN_CHATWINDOW_GET_HANDLE            "Tlen/ChatWindow/GetHandle"
  89.  
  90.  
  91. #define TLEN_CHATWINDOW_SHOW            "Tlen/ChatWindow/Show"
  92.  
  93. //WPARAM: TlenChatWindowInfoDef *
  94.  
  95. #define TLEN_CHATWINDOW_SHOWMESSAGE     "Tlen/ChatWindow/ShowMessage"
  96.  
  97. //WPARAM: TlenChatWindowInfoDef * (w nim ContactDef istotne)
  98.  
  99. //LPARAM:
  100. typedef struct {
  101.  
  102.  int structSize;        //wielko£µ struktury w bajtach
  103.  
  104.  char *Name;
  105.  int Size;
  106.  int Color;
  107.  int Flags;
  108.  
  109. } FontStructDef;
  110.  
  111. #define TLEN_FONT_STYLE_BOLD            0x0001
  112. #define TLEN_FONT_STYLE_ITALIC          0x0002
  113. #define TLEN_FONT_STYLE_UNDERLINE       0x0004
  114.  
  115. #define TLEN_FONT_STYLE_APPLY_NAME              0x00010000
  116. #define TLEN_FONT_STYLE_APPLY_SIZE              0x00020000
  117. #define TLEN_FONT_STYLE_APPLY_COLOR             0x00040000
  118. #define TLEN_FONT_STYLE_APPLY_BOLD              0x00080000
  119. #define TLEN_FONT_STYLE_APPLY_ITALIC            0x00100000
  120. #define TLEN_FONT_STYLE_APPLY_UNDERLINE         0x00200000
  121. #define TLEN_FONT_STYLE_APPLY_ALL               0x00FF0000
  122.  
  123. typedef struct {
  124.  
  125.  int structSize;        //wielko£µ struktury w bajtach
  126.  
  127.  char *UserID;
  128.  char *Name;
  129.  
  130.  unsigned int TimeStamp; //jesli ponizsze dwa pola sa niewypelnione, to tlen sam sformatuje date i czas 
  131.  
  132.  char *Time;
  133.  char *Date;
  134.  
  135.  char *Message;
  136.  
  137.  int Flags;
  138.  
  139. } TlenChatWindowMessageOldDef;
  140.  
  141. typedef struct {
  142.  
  143.  int structSize;        //wielko£µ struktury w bajtach
  144.  
  145.  char *UserID;
  146.  char *Name;
  147.  
  148.  unsigned int TimeStamp; //jesli ponizsze dwa pola sa niewypelnione, to tlen sam sformatuje date i czas 
  149.  
  150.  char *Time;
  151.  char *Date;
  152.  
  153.  char *Message;
  154.  
  155.  int Flags;
  156.  
  157.  //rozszerzona wiadomosc
  158.  FontStructDef UserIDFont;
  159.  FontStructDef NameFont;
  160.  FontStructDef DateFont;
  161.  FontStructDef TimeFont;
  162.  FontStructDef MessageFont;
  163.  
  164. } TlenChatWindowMessageDef;
  165.  
  166. #define CHATWINDOW_MESSAGEFLAG_RECEIVED                 0x0001
  167. #define CHATWINDOW_MESSAGEFLAG_SENT                     0x0002
  168. #define CHATWINDOW_MESSAGEFLAG_OFFLINE                  0x0004
  169. #define CHATWINDOW_MESSAGEFLAG_SYSTEMMESSAGE            0x0008
  170.  
  171. #define CHATWINDOW_MESSAGEFLAG_OVERRIDESHOWEMOS         0x0010
  172. #define CHATWINDOW_MESSAGEFLAG_OVERRIDENOEMOS           0x0020
  173. #define CHATWINDOW_MESSAGEFLAG_HTMLMESSAGE              0x0040
  174. #define CHATWINDOW_MESSAGEFLAG_HTMLBLOCK                0x0080
  175.  
  176. #define CHATWINDOW_MESSAGEFLAG_NOSOUND                  0x0100
  177. #define CHATWINDOW_MESSAGEFLAG_SHOWTIMESTAMP            0x0200
  178. #define CHATWINDOW_MESSAGEFLAG_TEXTFORMATENABLED        0x0400
  179. #define CHATWINDOW_MESSAGEFLAG_SCROLLLOCALIMAGE         0x0800
  180.  
  181. #define CHATWINDOW_MESSAGEFLAG_USEFONT_USERID           0x01000
  182. #define CHATWINDOW_MESSAGEFLAG_USEFONT_NAME             0x02000
  183. #define CHATWINDOW_MESSAGEFLAG_USEFONT_DATE             0x04000
  184. #define CHATWINDOW_MESSAGEFLAG_USEFONT_TIME             0x08000
  185. #define CHATWINDOW_MESSAGEFLAG_USEFONT_MESSAGE          0x10000
  186. #define CHATWINDOW_MESSAGEFLAG_PAGE_ACTIVATE            0x20000 // przelacza
  187. // aktywna zakladke gdzie ma pojawic sie wiadomosc
  188.  
  189. #define TLEN_CHATWINDOW_SETPARAM        "Tlen/ChatWindow/SetParam"
  190.  
  191. //WPARAM: TlenChatWindowInfoDef *
  192.  
  193. //LPARAM:
  194. // zmiana tytulu okna
  195. #define CHATWINDOW_SETPARAM_CAPTION             0x0001
  196. // zmiana ikony okna
  197. #define CHATWINDOW_SETPARAM_ICON                0x0002
  198. // zmiana danych kontaktu
  199. #define CHATWINDOW_SETPARAM_CONTACT             0x0004
  200. // zmiana flag CHATWINDOW_SHOWFLAG_*
  201. #define CHATWINDOW_SETPARAM_FLAGS               0x0008
  202. // zmiana tytulu zakladki
  203. #define CHATWINDOW_SETPARAM_SHORT_CAPTION       0x0010
  204.  
  205. #define TLEN_CHATWINDOW_SHOWTYPINGNOTIFICATION     "Tlen/ChatWindow/ShowTypingNotification"
  206. //WPARAM: TlenChatWindowInfoDef *
  207. //LPARAM: 1 - pokazuje, 2 - chowa
  208.  
  209. #define TLEN_CHATWINDOW_ALERTUSER                  "Tlen/ChatWindow/AlertUser"
  210. //WPARAM: TlenChatWindowInfoDef *
  211. //LPARAM: 1
  212.  
  213. #endif
  214.